package com.jhgsys.internal.education.entity;


import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.jhgsys.internal.common.entity.BaseEntity;

import com.fasterxml.jackson.annotation.JsonFormat;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.io.Serializable;
import java.util.Date;
import lombok.Data;


/**
 *  Entity
 *
 * @author yj
 * @date 2024-09-13 17:53:22
 */
@Data
@TableName("education_cautionary_lesson")
public class EducationCautionaryLesson extends BaseEntity implements Serializable {

    /**
     * 主键
     */
    @TableId(value = "cautionary_lesson_id", type = IdType.ASSIGN_UUID)
    @Size(max = 32, message = "{noMoreThan}")
    private String cautionaryLessonId;

    /**
     * 公司Id
     */
    @TableField("tenant_id")
    @NotBlank(message = "{required}")
    @Size(max = 32, message = "{noMoreThan}")
    private String tenantId;

    /**
     * 警示来源;1:事故管理 2：违章记分 3：隐患上报 4：安全检查
     */
    @TableField("cautionary_source")
    @NotBlank(message = "{required}")
    @Size(max = 2, message = "{noMoreThan}")
    private String cautionarySource;

    /**
     * 警示来源Id
     */
    @TableField("cautionary_source_id")
    @NotBlank(message = "{required}")
    @Size(max = 32, message = "{noMoreThan}")
    private String cautionarySourceId;

    /**
     * 警示标题
     */
    @TableField("cautionary_title")
    @NotBlank(message = "{required}")
    @Size(max = 500, message = "{noMoreThan}")
    private String cautionaryTitle;

    /**
     * 学习员工Id
     */
    @TableField("study_user_id")
    @NotBlank(message = "{required}")
    @Size(max = 32, message = "{noMoreThan}")
    private String studyUserId;

    /**
     * 学习员工工号
     */
    @TableField("study_user_no")
    @NotBlank(message = "{required}")
    @Size(max = 64, message = "{noMoreThan}")
    private String studyUserNo;

    /**
     * 学习员工姓名
     */
    @TableField("study_real_name")
    @NotBlank(message = "{required}")
    @Size(max = 150, message = "{noMoreThan}")
    private String studyRealName;

    /**
     * 警示部门Id
     */
    @TableField("study_dept_id")
    @NotBlank(message = "{required}")
    @Size(max = 32, message = "{noMoreThan}")
    private String studyDeptId;

    /**
     * 警示部门
     */
    @TableField("study_dept")
    @NotBlank(message = "{required}")
    @Size(max = 150, message = "{noMoreThan}")
    private String studyDept;

    /**
     * 学习员工岗位Id
     */
    @TableField("study_post_id")
    @Size(max = 32, message = "{noMoreThan}")
    private String studyPostId;

    /**
     * 学习员工岗位
     */
    @TableField("study_post_name")
    @Size(max = 150, message = "{noMoreThan}")
    private String studyPostName;

    /**
     * 学习时间
     */
    @TableField("study_date")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date studyDate;

    /**
     * 学习地点
     */
    @TableField("study_address")
    @Size(max = 255, message = "{noMoreThan}")
    private String studyAddress;

    /**
     * 警示状态;0:待学习 1：已学习
     */
    @TableField("status")
    @Size(max = 2, message = "{noMoreThan}")
    private String status;

}